package com.blog4j.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.blog4j.user.entity.MessageEntity;
import com.blog4j.user.vo.req.DelMessageReqVo;
import com.blog4j.user.vo.req.MessageListReqVo;
import com.blog4j.user.vo.resp.MessageRespVo;
import com.github.pagehelper.PageInfo;

/**
 * @author 98k灬
 * @version v1.0.0
 * @Description : 功能描述
 * @Create on : 2024/8/15 12:14
 **/
public interface MessageService extends IService<MessageEntity> {
    /**
     * 检查用户是否有新消息
     *
     * @param userId 用户ID
     * @return 新消息数量
     */
    Integer userHasNewMessage(String userId);

    /**
     * 获取消息列表
     *
     * @param reqVo 请求信息
     * @return 消息列表
     */
    PageInfo<MessageRespVo> messageList(MessageListReqVo reqVo);

    /**
     * 删除消息
     *
     * @param reqVo 请求信息
     */
    void deleteMessage(DelMessageReqVo reqVo);

    /**
     * 全部已读消息
     *
     */
    void allReadMessage();

    /**
     * 删除全部消息
     *
     */
    void deleteAllMessage();
}
